package ginparse

import "regexp"

// HasSQLInject .正则过滤sql注入的方法
// 参数: 要匹配的语句
func HasSQLInject(src string) (ret bool) {
	if len(src) > 0 {
		//过滤 ‘
		//ORACLE 注解 --  /**/
		//关键字过滤 update ,delete
		// 正则的字符串, 不能用 " " 因为" "里面的内容会转义
		str := `(?:')|(?:--)|(/\\*(?:.|[\\n\\r])*?\\*/)|(\b(select|update|and|or|delete|insert|trancate|char|chr|into|substr|ascii|declare|exec|count|master|into|drop|execute)\b)`
		if re, err := regexp.Compile(str); err == nil {
			ret = re.MatchString(src)
		}
	}
	return
}
